package cn.edu.imau.zy.system.controller;

import cn.edu.imau.zy.common.annotation.LoginUser;
import cn.edu.imau.zy.common.core.controller.BaseController;
import cn.edu.imau.zy.common.core.domain.R;
import cn.edu.imau.zy.common.core.entity.system.SysNews;
import cn.edu.imau.zy.common.core.entity.system.SysUser;
import cn.edu.imau.zy.system.service.ISysNewsService;
import cn.hutool.core.util.IdUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 新闻公告 提供者
 * 
 * @author wyz
 * @date 2020-07-10
 */
@RestController
@RequestMapping("news")
public class SysNewsController extends BaseController
{
	
	@Autowired
	private ISysNewsService sysNewsService;
	
	/**
	 * 查询${tableComment}
	 */
	@GetMapping("get/{id}")
	public SysNews get(@PathVariable("id") Long id)
	{
		return sysNewsService.selectSysNewsById(id);
		
	}
	
	/**
	* 查询新闻公告列表
	*/
	@GetMapping("list")
	public R list(SysNews sysNews)
	{
	startPage();
	return result(sysNewsService.selectSysNewsList(sysNews));
	}

	/**
	 * app查询新闻公告列表
	 */
	@GetMapping("appNewList")
	public R appNewList(SysNews sysNews)
	{
		startPage();
		return result(sysNewsService.appSysNewsList(sysNews));
	}
	
	
	/**
	 * 新增保存新闻公告
	 */
	@PostMapping("save")
	public R addSave(@RequestBody SysNews sysNews,@LoginUser SysUser user)
	{
		sysNews.setCreateBy(user.getUserId().toString());
		sysNews.setId(IdUtil.getSnowflake(1,1).nextIdStr());
		return toAjax(sysNewsService.insertSysNews(sysNews));
	}

	/**
	 * 修改保存新闻公告
	 */
	@PostMapping("update")
	public R editSave(@RequestBody SysNews sysNews,@LoginUser SysUser user)
	{
		sysNews.setUpdateBy(user.getUserId().toString());
		return toAjax(sysNewsService.updateSysNews(sysNews));
	}

	/**
	 * 增加访问量
	 */
	@GetMapping("visitsAdd/{id}")
	public void visitsAdd(@PathVariable("id") String id)
	{
		sysNewsService.visitsAdd(id);
	}
	
	/**
	 * 删除${tableComment}
	 */
	@PostMapping("remove")
	public R remove(String ids)
	{		
		return toAjax(sysNewsService.deleteSysNewsByIds(ids));
	}
	
}
